package euler.p001_050;

import euler.MainEuler;

public class Euler006 extends MainEuler {

    /*
        The sum of the squares of the first ten natural numbers is,
        1^2 + 2^2 + ... + 10^2 = 385

        The square of the sum of the first ten natural numbers is,
        (1 + 2 + ... + 10)^2 = 552 = 3025

        Hence the difference between the sum of the squares of the
        first ten natural numbers and the square of the sum is
        3025 − 385 = 2640.

        Find the difference between the sum of the squares of the
        first one hundred natural numbers and the square of the sum.

     */
    public String resolve(int n) {
        // sum = n*(n+1)/2
        // squareofthesum = (n*n + 2*n + 1)* n*n / 4
        // sumofthesquares = n*(n+1)*(2*n+1)/6

        long r = (3*n + 2) * (n*n - 1) * n / 12;

        return String.valueOf(r);
        // 25164150
    }

}
